import { Messagetype, plugin } from 'alemon'

export class K_撤回 extends plugin {
  constructor() {
    super({
      /* 说明集*/
      dsc: '撤回',
      /* 指令集 */
      rule: [
        {
          reg: '^/撤回$',
          fnc: '撤回'
        }
      ]
    })
  }
  /**
   * @param e 消息对象
   * @returns
   */
  async 撤回(e: Messagetype) {
    //   回复信息撤回
    //    需要私域或公域事件
    if (e.eventType !== 'CREATE' && e.event !== 'MESSAGES' && !e.isGroup) {
      return
    }

    if (e.msg.message_reference && e.msg.message_reference.message_id) {
      await client.messageApi
        .deleteMessage(e.msg.channel_id, e.msg.message_reference.message_id, true)
        .catch(async err => {
          await e.reply('撤回失败')
        })
    } else {
      await e.reply('你要我撤回什么啊')
    }
    return true
  }
}
